require_relative 'shin/version'
require 'json'
require 'nokogiri'
require 'httparty'
require 'hashugar'

require_relative 'shin/httparty_icebox'
require_relative 'shin/base'
require_relative 'shin/reviews'
require_relative 'shin/play'
require_relative 'shin/data'

module Shin
  class Error < RuntimeError
  end
end

module Shin
  def self.new(*a)
    Shin.new(*a)
  end
  class Shin
    #attr_accessor :options
    def initialize(args={})
      @@options = args
    end
    
    def self.get
      @@options ||= {}
    end
    
    def base
      @base ||= Base.new
    end
    
    def play
      @play ||= Play.new
    end
    
    def reviews
      @reviews ||= Reviews.new
    end
    
    def data
      @data ||= Data.new
    end
  end
end